    <?php

class Application_Form_Tarefa extends Zend_Form
{

    public function init()
    {
        $decorator_hidden_element = array(
            'ViewHelper',
            array(array('data'=>'HtmlTag'), array('tag' => 'td')),
            array(array('row'=>'HtmlTag'),array('tag'=>'tr','style'=>'display:none'))
           );
        
        $decorator_element = array(
            'ViewHelper',
            'Description',
            'Errors',
            array(array('data'=>'HtmlTag'), array('tag' => 'td')),
            array('Label',  array('tag' => 'td', 'style'=>'float:right;')),
            array(array('row'=>'HtmlTag'),array('tag'=>'tr'))
           );
        
        $decorator_submit = array(
           'ViewHelper',
           'Description',
           'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'td',
           'colspan'=>'2','align'=>'center')),
           array(array('row'=>'HtmlTag'),array('tag'=>'tr'))
        );

        $decorator_form = array(
            'FormElements',
            array(array('data'=>'HtmlTag'),array('tag'=>'table')),
            'Form'
        );
  
        $this->setAttrib('accept-charset', 'utf-8')
            ->setName('tarefa');
        
        // campo id
        $id = new Zend_Form_Element_Hidden('id');
        $id->addFilter('Int');
        $id->setDecorators($decorator_hidden_element);
        $this->addElement($id);

        // campo projeto_id
        $projeto_id = new Zend_Form_Element_Hidden('projeto_id');
        $projeto_id->addFilter('Int');
        $projeto_id->setDecorators($decorator_hidden_element);
        $this->addElement($projeto_id);

        // campo metaevento_id
        $metaevento_id = new Zend_Form_Element_Hidden('metaevento_id');
        $metaevento_id->addFilter('Int');
        $metaevento_id->setDecorators($decorator_hidden_element);
        $this->addElement($metaevento_id);

        //campo tarefa
        $tarefa = new Zend_Form_Element_Text('tarefa');
        $tarefa->setLabel('Tarefa')
            ->setAttrib('size', 50)
            ->setRequired(true)
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addValidator('NotEmpty')
            ->setDecorators($decorator_element);
        $this->addElement($tarefa);

        // campo responsavel_id
        $usuarios = new Usuarios();
        $responsavel_id = new Zend_Form_Element_Select('responsavel_id');
        $responsavel_id->setLabel('Responsável');
        $result = $usuarios->fetchAll(null,'nome');
        foreach($result as $usuario):
            $responsavel_id->addMultiOption($usuario->id,$usuario->nome);
        endforeach;
        $responsavel_id->setDecorators($decorator_element);
        $this->addElement($responsavel_id);
        
        $validacaoData = new Zend_Validate_Date('dd/MM/yyyy');
        $validacaoData->setMessages(array( // error messages
            Zend_Validate_Date::INVALID_DATE => 'A data \'%value%\' não é válida.',
            Zend_Validate_Date::FALSEFORMAT => 'O formato de data \'%value%\' não é válido.'
        ));


        $data_decorator = array(
            'UiWidgetElement',
            'Errors',
            array(array('data'=>'HtmlTag'), array('tag' => 'td')),
            array('Label',  array('tag' => 'td', 'style'=>'float:right;')),
            array(array('row'=>'HtmlTag'),array('tag'=>'tr'))
           );

        $dt_estimada = new ZendX_JQuery_Form_Element_DatePicker(
                    'dt_estimada',array('jQueryParams' => array(
                    'dateFormat' => 'dd/mm/yy')));
//        ,
//                    'defaultDate' => date('',time()) )));
        $dt_estimada->setLabel('Data Estimada')
            ->setRequired ()
            ->setDecorators($data_decorator);
        
        $this->addElement($dt_estimada);

        // campo tarefa_status_id
        $tarefa_status = new Zend_Form_Element_Select('tarefa_status');
        $tarefa_status->setLabel('Status');
        $tarefa_status->addMultiOption('Não distribuída','Não distribuída');
        $tarefa_status->addMultiOption('Aguardando','Aguardando');
        $tarefa_status->addMultiOption('Em execução','Em execução');
        $tarefa_status->addMultiOption('Finalizada','Finalizada');
        $tarefa_status->addMultiOption('Cancelada','Cancelada');
        $tarefa_status->setDecorators($decorator_element);
        $this->addElement($tarefa_status);
        
        
// botão submit
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton')
            ->setDecorators($decorator_submit);
        $this->addElement($submit);
        
        $this->setDecorators($decorator_form);
    }


}

